//
//  KATTableViewDelegate.h
//  KATFramework
//
//  Created by Kantice on 15/8/12.
//  Copyright (c) 2015年 KatApp. All rights reserved.
//  列表视图代理协议

#import <Foundation/Foundation.h>
#import "KATTableCell.h"

@class KATTableView;

@protocol KATTableViewDelegate <NSObject>

@optional

///下拉加载事件
- (void)tablePullToReload:(KATTableView *)tableView;

///上推更多事件
- (void)tablePushToMore:(KATTableView *)tableView;

///向上滚动事件
- (void)tableViewDidScrollUp:(KATTableView *)tableView;

///向下滚动事件
- (void)tableViewDidScrollDown:(KATTableView *)tableView;

///加载完成
- (void)tableViewDidLoad:(KATTableView *)table;

///单元格添加事件
- (void)tableView:(KATTableView *)tableView didAddCell:(KATTableCell *)cell;

///单元格删除前事件
- (void)tableView:(KATTableView *)tableView beginRemoveCell:(KATTableCell *)cell;

///单元格删除后事件
- (void)tableView:(KATTableView *)tableView didRemoveCell:(KATTableCell *)cell;

///单元格左滑事件
- (void)tableView:(KATTableView *)tableView didMoveCellToLeft:(KATTableCell *)cell;

///单元格右滑事件
- (void)tableView:(KATTableView *)tableView didMoveCellToRight:(KATTableCell *)cell;

///单元格恢复事件
- (void)tableView:(KATTableView *)tableView didMoveCellBack:(KATTableCell *)cell;

///cell点击事件
- (void)tableView:(KATTableView *)tableView didTapCell:(KATTableCell *)cell;

///cell长按事件
- (void)tableView:(KATTableView *)tableView didPressCell:(KATTableCell *)cell;

///表层点击事件
- (void)tableView:(KATTableView *)tableView didTapCellFaceLayer:(KATTableCell *)cell;

///中间层点击事件
- (void)tableView:(KATTableView *)tableView didTapCellMiddleLayer:(KATTableCell *)cell;

///背景层点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackLayer:(KATTableCell *)cell;

///图片点击事件
- (void)tableView:(KATTableView *)tableView didTapCellImage:(KATTableCell *)cell;

///图片2点击事件
- (void)tableView:(KATTableView *)tableView didTapCellImage2:(KATTableCell *)cell;

///图片3点击事件
- (void)tableView:(KATTableView *)tableView didTapCellImage3:(KATTableCell *)cell;

///标题点击事件
- (void)tableView:(KATTableView *)tableView didTapCellTitle:(KATTableCell *)cell;

///内容点击事件
- (void)tableView:(KATTableView *)tableView didTapCellContent:(KATTableCell *)cell;

///富文本标题点击事件
- (void)tableView:(KATTableView *)tableView didTapCellRichTitle:(KATTableCell *)cell;

///富文本内容点击事件
- (void)tableView:(KATTableView *)tableView didTapCellRichContent:(KATTableCell *)cell;

///富文本标签点击事件
- (void)tableView:(KATTableView *)tableView didTapCellRichLabel:(KATTableCell *)cell;

///标签1点击事件
- (void)tableView:(KATTableView *)tableView didTapCellLabel1:(KATTableCell *)cell;

///标签2点击事件
- (void)tableView:(KATTableView *)tableView didTapCellLabel2:(KATTableCell *)cell;

///标签3点击事件
- (void)tableView:(KATTableView *)tableView didTapCellLabel3:(KATTableCell *)cell;

///标签4点击事件
- (void)tableView:(KATTableView *)tableView didTapCellLabel4:(KATTableCell *)cell;

///标签5点击事件
- (void)tableView:(KATTableView *)tableView didTapCellLabel5:(KATTableCell *)cell;

///按钮1点击事件
- (void)tableView:(KATTableView *)tableView didTapCellButton1:(KATTableCell *)cell;

///按钮2点击事件
- (void)tableView:(KATTableView *)tableView didTapCellButton2:(KATTableCell *)cell;

///按钮3点击事件
- (void)tableView:(KATTableView *)tableView didTapCellButton3:(KATTableCell *)cell;

///特殊按钮点击事件
- (void)tableView:(KATTableView *)tableView didTapCellSPButton:(KATTableCell *)cell;

///背景按钮1点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton1:(KATTableCell *)cell;

///背景按钮2点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton2:(KATTableCell *)cell;

///背景按钮3点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton3:(KATTableCell *)cell;

///背景按钮4点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton4:(KATTableCell *)cell;

///背景按钮5点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton5:(KATTableCell *)cell;

///背景按钮6点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton6:(KATTableCell *)cell;

///背景按钮7点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackButton7:(KATTableCell *)cell;

///背景标签点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBackLabel:(KATTableCell *)cell;

///徽标点击事件
- (void)tableView:(KATTableView *)tableView didTapCellBadge:(KATTableCell *)cell;

///文本开始编辑
- (void)tableView:(KATTableView *)tableView didStartEditingTextInCell:(KATTableCell *)cell;

///文本是否可以开始编辑
- (BOOL)tableView:(KATTableView *)tableView shouldStartEditingTextInCell:(KATTableCell *)cell;

///文本完成编辑
- (void)tableView:(KATTableView *)tableView didFinishEditingTextInCell:(KATTableCell *)cell;

///文本是否改变内容
- (BOOL)tableView:(KATTableView *)tableView shouldChangeText:(NSString *)text inCell:(KATTableCell *)cell;

///文本改变内容
- (void)tableView:(KATTableView *)tableView didChangeTextInCell:(KATTableCell *)cell;

@end


